/*                                         请你看双子座流星雨！
        ⛦-----------      ⛦---------------      ⛦-----         ⛦----------------
⛦-----------   ⛦-----------    ⛦---------------------    ⛦-----------   许愿：“四海荡平”
       ⛦-----------       ⛦-----------        ⛦-----------        ⛦-----------  ⛦-----------
*/

let ques_data = {
    tableData: null, //表单数据
    test_type:null,//试卷类型的json数据
    test_type_selectedID:null,//选中的试卷类型ID
    quesContent:null,
    id:null,
    selectedID:[],//专门用来装多选框选中对象的ID
    isVisible: false,
    selectedQues:null,//根据id查询到的试卷对象
    re_id:null,//id
    re_quesContent:null,//题干内容
    re_difficulty:null,//难度
    re_pointValue:null,//分值





};

let vue = new Vue({

    el:"#alice",
    data:ques_data,
    methods:{
        handleClick() {
            window.parent.layui.index.openTabsPage('ques/add',"新增题目");
        },
        getData:function () {

            axios.get('/ep/ques/all', {
                params: {
                    id: this.id,
                    quesContent: this.quesContent,
                }
            })
                .then(response => {
                    console.log(response.data);
                    ques_data.tableData = response.data;

                })
                .catch(function (error) {
                    console.log(error);
                });
        },
        reset:function () {
            this.id=null;
            this.quesContent=null;
            this.getData();

        }, handleSelectionChange: function (val) {
        this.multipleSelection = val;
        this.selectedID = [];//装ID的数组重置为空
        this.multipleSelection.forEach(e=>this.selectedID.push(e.id));//遍历更新装ID的数组
        console.log("ID为： "+this.selectedID);
    },edit: function () {

            this.isVisible = true;

            //第一步：根据获取到的id值，在数据库中查询出数据
            let params =new FormData();
            params.append("id",this.selectedID);

            //将数据发送给后端服务器的函数
            axios.post('/ep/ques/selectbyid', params)
                .then(response => {
                    ques_data.selectedQues= response.data;
                    console.log(ques_data.selectedQues);

                    //把查询出来的数据填充进绑定对象
                    //解决请求异步性带来的问题：数据装载为null
                    ques_data.re_id = ques_data.selectedQues.id;
                    ques_data.re_quesContent = ques_data.selectedQues.quesContent;
                    ques_data.re_difficulty = ques_data.selectedQues.difficulty;
                    ques_data.re_pointValue = ques_data.selectedQues.pointValue;

                    console.log(ques_data.re_id);
                    console.log(ques_data.re_quesContent);
                    console.log(ques_data.re_difficulty);
                    console.log(ques_data.re_pointValue);

                })
                .catch(error => {
                    console.log(error);
                });

        },alice:function () {


            console.log("执行到这里了吗？")
            //第二步，把修改后的数据，传入服务器，修改数据
            let params2 =new FormData();
            params2.append("id",this.re_id);
            params2.append("quesContent",this.re_quesContent);
            params2.append("difficulty",this.re_difficulty);
            params2.append("pointValue",this.re_pointValue);

            //将数据发送给后端服务器的函数
            axios.post('/ep/ques/update', params2)
                .then(response => {
                    ques_data.tableData = response.data;
                    this.getData();//数据更新成功后再刷新页面
                    //解决请求异步性带来的问题：数据装载为null
                    this.isVisible = false;

                })
                .catch(error => {
                    console.log(error);
                });
        },del(row,index) { //删除
            this.$confirm('删除此题目, 是否继续?', '提示', {
                confirmButtonText: '确定',
                cancelButtonText: '取消',
                type: 'warning'
            }).then(() => {
                axios({
                    method: 'DELETE',
                    url: '../ques/del/'+ row.id,
                }).then(res =>{
                    if(res.data.code ===200 ){
                        //删除当前选中行
                        // console.log(vm.tableData);
                        vm.tableData.splice(index,1);
                        this.$message({
                            type: 'success',
                            message: '删除成功!'
                        });
                    }else{
                        this.$message({
                            message:res.data.message
                        })
                    }
                })
            }).catch(() => {
                this.$message({
                    type: 'info',
                    message: '已取消删除'
                });
            });
        }


    }

});

//-------------------------------------------分割线-------------------------------------------
//页面加载完成后，即向后端发送请求，获取json格式的字符串数据

window.onload=function(){
    getTableData();//从数据库获取题目数据
    getAllTestType();

}



//-------------------------------------------分割线-------------------------------------------
//页面加载完成后要执行的函数

//从数据库获取题目数据
let getTableData =  ()=> {
    axios.get('/ep/ques/all')
        .then(response => {
            console.log(response.data);
            ques_data.tableData = response.data;
        })
        .catch(function (error) {
            console.log(error);
        });
}



//从数据库获取所有的试卷类型
let getAllTestType =  ()=> {
    axios.get('/ep/ques/testtype')
        .then(response => {
            ques_data.test_type = response.data;
        })
        .catch(function (error) {
            console.log(error);
        });
}



//-------------------------------------------分割线-------------------------------------------
//监听到【点击事件】要执行的函数（点击按钮要执行的函数）










